草庐IT

Java GC日志分析

全部标签

java - VisualVM 无​​法在 Eclipse 上分析 Web 应用程序

我想分析我在Tomcat和Eclipse上运行的SpringWeb应用程序。我将VisualVM添加到Eclipse并按照以下步骤运行应用程序以进行分析。Rightclickontheapplicationname>RunAs>RunConfiguration>JavaApplication>'SelectedProject'>Set'org.apache.catalina.starup.Boostrap'asavalueforMainclass,alsoselectedVisualVMastheLauncher>clickedonRunbutton.VisualVM启动但显示以下消息

java - 如何统一来自 java 堆栈的日志记录格式

使用从maven开始的Jetty网络服务器,其中包括iBatis、Spring、Jersey,一些这样那样,我得到了多种格式的日志输出。一些来自maven:[INFO][war:war][INFO]Explodingwebapp...一些来自Jetty:2009-03-2521:01:27.781::INFO:jetty-6.1.152009-03-2521:01:28.218:/example:INFO:InitializingSpringrootWebApplicationContext一些来自Spring:INFOContextLoader-RootWebApplicationC

java - 哪些 DTrace 脚本值得在 Solaris 上测试和分析 Java 程序

我找到了DTrace很有趣,但我个人未能看到一个用例可以让我获得信息,如果不使用DTrace,我无论如何也无法获得这些信息。因此,我想听听我忽略了什么。我可以在带有DTrace的vmwareOpenIndianabuild148上做些什么,这在创建独立应用程序和JavaEEWeb应用程序(其中大部分应用程序与使用套接字的遗留后端进行大量通信)时会有所不同?非平凡的Dtrace脚本非常受欢迎。 最佳答案 我对DTrace有一些很好的体验。我有一个客户端在24x7运行的生产服务器上运行我们的Java代码。我们在应用程序方面遇到了一些性能

java - 找不到更新日志 changelog.groovy

我在IntellijIDEA11.1.3中创建了新的Grails项目并尝试运行它。当我打开http://localhost:8080/application/dbdoc(访问Controllergrails.plugin.databasemigration.DbdocController的默认操作)时,我不断收到消息:Changelogchangelog.groovynotfound虽然,文件changelog.groovy存在于我项目的文件系统中的文件夹./grails-app/migrations中。我已经使用命令生成了它:grailsdbm-create-changelogcha

Java重播日志,诊断内存不足错误

我们正在运行一个带有JNI层的Java8应用程序,该层由于C层某处的内存不足错误而崩溃。除了通常的hs_err_pid.log文件,我们注意到这次我们还收到了一个replay_pid.log文件。我已经做了一些广泛的Google-foo,几乎找不到关于这个文件的任何信息。有没有人以前看过这个文件,有没有人知道它包含什么以及如何最好地分析它? 最佳答案 该文件由java热点生成,用于提供有关发生问题时的操作的重播信息。它是否为您提供了足够具体的信息来告诉您问题出在哪里,但它确实有助于告诉您当时一般情况下发生了什么。在OpenJDK下报

java - 如何向 log4j2 的 JSON 日志添加字段

假设我有一个标准的JSON日志,如文档中的示例(如下){"logger":"com.foo.Bar","timestamp":"1376681196470","level":"INFO","thread":"main","message":"Messageflushedwithimmediateflush=true"}现在我想像这样向这个日志添加自定义信息:{"logger":"com.foo.Bar","timestamp":"1376681196470","level":"INFO","thread":"main","message":"Messageflushedwithimme

java - 在 macOS 上使用 DTrace 分析 Java 应用程序

我正在尝试在macOSSierra10.12上使用DTrace分析Java应用程序。我正在使用JDK8:⋊>~java-versionjavaversion"1.8.0_102"Java(TM)SERuntimeEnvironment(build1.8.0_102-b14)JavaHotSpot(TM)64-BitServerVM(build25.102-b14,mixedmode)⋊>~echo$JAVA_HOME/Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home我的最终目标是跟踪特定包的所有Java方法入

java - 如何在 Spring Boot 中关闭 "NioEndPoint"日志记录?

我正在开发一个SpringBootWeb应用程序,我在其中将一个长时间运行的进程添加到ScheduledExecutorService。为了确保它按照我认为的方式运行,我正在使用System.out.println()来调试长时间运行的进程。我的问题是我一直收到这些NioEndpointFINER|timeoutcompleted:keysprocessed=1;now=1492721057929;nextExpiration=1492721057927;keyCount=0;hasEvents=false;eval=false{timeout()/18}04:44.714NioEnd

java - 如何创建不将 WARN 消息记录到日志的 Spring @ExceptionHandler 方法

我有一个带有Spring@ExceptionHandler的SpringBoot应用程序,它主要执行我想要的操作。它将HTTP状态代码设置为409,并在JSON响应中包含额外的错误信息。@ExceptionHandler(PolicyExecutionException.class)publicResponseEntityhandleException(PolicyExecutionExceptionse){returnResponseEntity.status(HttpStatus.CONFLICT).body(se.getScriptErrorMap());}我注意到,即使它向客户

java - 事件日志解析器的适当设计模式?

从事一个解析事件日志的项目,然后根据这些事件的属性更新模型。我一直很懒于“完成它”,而更关心前期优化、精益代码和适当的设计模式。主要是自学实验。我感兴趣的是更有经验的设计师认为哪些模式是相关的,或者什么类型的伪代码对象架构是最好的、最容易维护的等等。单个日志中可以有500,000个事件,大约有60种类型的事件,所有这些都共享大约7个基本属性,然后根据事件类型具有0到15个附加属性。事件类型是日志文件每一行中的第二个属性。所以我已经尝试了一个非常丑陋的命令式解析器,它逐行遍历日志,然后逐行处理事件。然后我尝试了一个使用“nextEvent”模式的词法规范,它在循环中被调用并被处理。然后我